package com.bestcem.xm.txtanls.controller.vo;

import com.bestcem.xm.txtanls.grpc.v1.enums.RecordSentimentEnum;
import com.bestcem.xm.txtanls.grpc.v1.enums.RecordStatusEnum;
import com.bestcem.xm.txtanls.service.dto.record.ViewInfoDTO;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * @author gy.liu
 * @version 2.0
 * @date 2021/8/10 17:02
 **/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class RecordInfoVO {

    /**
     * 原话记录数据库唯一标识
     */
    private String id;

    /**
     * 原话内容
     */
    private String content;

    /**
     * 文本分析项目id
     */
    @JsonProperty(value = "anlsprojectID")
    private String projectId;

    /**
     * 情感得分
     */
    @JsonProperty(value = "sentiscore")
    private Integer sentimentScore;

    /**
     * 数据源id
     */
    @JsonProperty(value = "worktableID")
    private String worktableId;

    /**
     * 数据源名称
     */
    @JsonProperty(value = "workName")
    private String worktableName;

    /**
     * BI唯一标识
     */
    @JsonProperty(value = "collection_id")
    private String collectionId;

    /**
     * 情感倾向
     *
     * @see RecordSentimentEnum.RecordSentiment
     */
    @JsonProperty(value = "senti")
    private Integer sentiment;

    /**
     * 原话记录的所属字段id
     */
    @JsonProperty(value = "field_id")
    private String fieldId;

    /**
     * 原话记录的所属字段名字
     */
    @JsonProperty(value = "field_name")
    private String fieldName;

    /**
     * 原话记录日期
     */
    @JsonProperty(value = "recordtime")
    private String time;

    /**
     * 行业id
     */
    @JsonProperty(value = "industryID")
    private String industryId;

    /**
     * 数据记录标记
     *
     * @see RecordStatusEnum.RecordStatus
     */
    @JsonProperty(value = "record_flag")
    private Integer flag;

    /**
     * 原话对应观点
     */
    @JsonProperty(value = "views_msg")
    private List<ViewInfoDTO> views;

    /**
     * (可选) 问卷id
     */
    @JsonProperty(value = "survey_id")
    private String surveyId;

    /**
     * (可选) 话题信息
     */
    private String topicInfo;

    /**
     * 创建时间
     */
    @JsonProperty(value = "createdDT")
    private Date createdDate;

    /**
     * 记录创建用户id
     */
    @JsonProperty(value = "createdID")
    private String createdId;

    /**
     * 记录修改时间
     */
    @JsonProperty(value = "updatedDT")
    private Date updatedDate;

    /**
     * 记录修改用户id
     */
    @JsonProperty(value = "updatedID")
    private String updatedId;
}
